package com.canaan.business.service.basic;

import java.util.List;
import com.canaan.business.domain.basic.StorehousePlat;
import com.canaan.business.domain.vo.StorehouseNodeVo;

/**
 * 仓库绘制地图信息Service接口
 *
 * @author 
 * @date 2023-08-04
 */
public interface IStorehousePlatService {
    /**
     * 查询仓库绘制地图信息
     *
     * @param id 仓库绘制地图信息主键
     * @return 仓库绘制地图信息
     */
    StorehousePlat selectStorehousePlatById(Long id);

    /**
     * 查询仓库绘制地图信息列表
     *
     * @param storehousePlat 仓库绘制地图信息
     * @return 仓库绘制地图信息集合
     */
    List<StorehousePlat> selectStorehousePlatList(StorehousePlat storehousePlat);

   /**
    * @Description 根据仓库编号获取属性
    * @author canaan
    * @date 2023年08月07日 14:52:23
    * @param storehouseNo
    * @return
    */
    StorehousePlat getInfoByStorehouseNo(String storehouseNo);
    /**
     * 新增仓库绘制地图信息
     *
     * @param storehousePlat 仓库绘制地图信息
     * @return 结果
     */
    int insertStorehousePlat(StorehousePlat storehousePlat);

    /**
     * 批量新增仓库绘制地图信息
     *
     * @param storehousePlatList 仓库绘制地图信息列表
     * @return 结果
     */
    int batchInsertStorehousePlat(List<StorehousePlat> storehousePlatList);

    /**
     * 修改仓库绘制地图信息
     *
     * @param storehousePlat 仓库绘制地图信息
     * @return 结果
     */
    int updateStorehousePlat(StorehousePlat storehousePlat);

    /**
     * 批量修改仓库绘制地图信息
     *
     * @param storehousePlatList 仓库绘制地图信息列表
     * @return 结果
     */
    int batchUpdateStorehousePlat(List<StorehousePlat> storehousePlatList);

    /**
     * 批量删除仓库绘制地图信息
     *
     * @param ids 需要删除的仓库绘制地图信息主键集合
     * @return 结果
     */
    int deleteStorehousePlatByIds(Long[] ids);

    /**
     * 删除仓库绘制地图信息信息
     *
     * @param id 仓库绘制地图信息主键
     * @return 结果
     */
    int deleteStorehousePlatById(Long id);


    /**
     * @Description 以树形查询仓库所有信息
     * @author canaan
     * @date 2023年08月07日 09:53:38
     * @param
     * @return
     */
    List<StorehouseNodeVo> selectStoreHouseAllTree(String storeHouseNo);


    /**
     * 修改仓库图片
     * @param storeHouseNo
     * @param storeHouseURL
     * @return
     */
    public boolean uploadStoreHouse(String storeHouseNo, String storeHouseURL);


}
